home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The 640 MEG Shareware Studio 2
/
The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO
/
clang
/
ti803.zip
/
TI803.TXT
Wrap
Text File
|
1992-08-12
|
5KB
|
62 lines
PRODUCT : C++ NUMBER : 803
VERSION : All
OS : PC DOS
DATE : February 25, 1992 PAGE : 1/1
TITLE : Dynamically Allocated Multidimensional Arrays
#include <stdio.h>
#include <alloc.h>
#define ROW 10
#define COLUMN 15
typedef int ARRAYTYPE;
typedef ARRAYTYPE * ARRAYTYPEPTR;
/* Declare the 2D array as a pointer to a pointer to
ARRAYTYPE */
/* Note there is no memory allocated for the array yet.
*/
ARRAYTYPEPTR *array;
void main()
{
int i, j;
/* First, allocate an array of pointers to ARRAYTYPE of ROW
*/
/* elements. Next, looping through the array of pointers,
*/
/* allocate arrays of ARRAYTYPE of COLUMN elements and
assign */
/* them to the pointers. This assigns the necessary memory
to */
/* the array, which you can then index via the [] operators.
*/
array = (ARRAYTYPEPTR *) malloc (ROW * sizeof(ARRAYTYPEPTR));
for (i = 0; i < ROW; i++)
array[i] = (ARRAYTYPEPTR) malloc (COLUMN * sizeof
(ARRAYTYPE));
/* Fill array with unique values */
for (i = 0; i < ROW; i++)
for (j = 0; j < COLUMN; j++)
array[i][j] = (COLUMN * i) + j;
/* Print out array to make sure everything's OK */
for (i = 0; i < ROW; i++) {
for (j = 0; j < COLUMN; j++)
printf("%4d",array[i][j]);
putchar('\n');
}
}